# 双色球彩票开奖系统

# 6个不重复的红色球号码[1,33]
# 1个蓝色球号码[1,14]

# 输入用户的7个号码，自动生成开奖结果，判断中奖情况

# 生成开奖结果
# 使用序列保存6个红色球号码

# 先使用set集合保证保存6个不重复的号码后，转换为列表进行排序
import random

blue = random.randint(1, 14)
# 创建set集合保存红色球号码
red_set = set()
# 为了保证6个不重复的号码，使用while循环，直到6个装满
while len(red_set) < 6:
    # 随机数
    red = random.randint(1, 33)
    red_set.add(red)
# 转换为列表  list(序列)
red_list = list(red_set)
# 排序
red_list.sort()

# 用户购买
# user_blue
user_red_set = set()
i = 1
while len(user_red_set) < 6:
    red = int(input(f"请输入第{i}个红色球号码："))
    # 保证输入范围有效
    if 33 < red or red < 1:
        print("输入范围有误，请重新输入")
        continue
    # 保证输入不重复
    if red in user_red_set:
        print("输入的号码已存在，请重新输入")
    else:
        user_red_set.add(red)
        i += 1
# 转换为列表后进行排序
user_red_list = list(user_red_set)
user_red_list.sort()

while True:
    user_blue = int(input("请输入蓝色球号码："))
    if 0 < user_blue < 15:
        break

print(f"开奖结果：红色球号码：{red_list}，蓝色球号码：{blue}")
print(f"您的号码：红色球号码：{user_red_list}，蓝色球号码：{user_blue}")

# 将生成的和输入的set集合，获取交集部分
inter = user_red_set.intersection(red_set)
# 获取正确号码数量
count = len(inter)
flag = user_blue == blue

if flag:
    if count in [0, 1, 2]:
        print("六等奖")
    elif count == 3:
        print("五等奖")
    elif count == 4:
        print("四等奖")
    elif count == 5:
        print("三等奖")
    elif count == 6:
        print("一等奖")
else:
    if count == 6:
        print("二等奖")
    elif count == 5:
        print("四等奖")
    elif count == 4:
        print("五等奖")
    else:
        print("很遗憾")
